home *** CD-ROM | disk | FTP | other *** search
- /* originally from Dale Schumacher's dLibs */
- /* modified 7/3/94 by sb to accept printf()-style message string */
-
- /*
- * standard "print error message" function
- */
-
- #include <stdio.h>
- #include <errno.h>
- #include <string.h>
- #include <stdarg.h>
- #include <stdlib.h>
-
- #if __STDC__
- void perrorf(const char *fmt, ...)
- #else
- void perrorf(fmt)
- const char *fmt;
- #endif
- {
- char *argv0 = getenv("ARGV");
- va_list ap;
-
- if (argv0) {
- argv0 += strlen(argv0) + 1;
- fputs(argv0, stderr);
- fputs(": ", stderr);
- }
- if(fmt && *fmt) {
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- fputs(": ", stderr);
- }
- if((argv0 = strerror(errno)) != NULL)
- fputs(argv0, stderr);
- fputs(".\n", stderr);
- }
-